package com.luckcoder.relax.games.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.tenant.core.TenantEntity;

import java.io.Serial;
import java.util.Date;

/**
 * 用户游戏记录对象 relax_user_game_record
 *
 * @author zhanghao
 * @date 2025-09-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("relax_user_game_record")
public class RelaxUserGameRecord extends TenantEntity {
    
    @Serial
    private static final long serialVersionUID = 1L;
    
    /**
     * 记录ID
     */
    @TableId(value = "record_id")
    private Long recordId;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 游戏ID
     */
    private Long gameId;
    
    /**
     * 游戏编码
     */
    private String gameCode;
    
    /**
     * 游戏得分
     */
    private Long score;
    
    /**
     * 游戏时长（秒）
     */
    private Long playTime;
    
    /**
     * 游戏级别/难度
     */
    private Long gameLevel;
    
    /**
     * 游戏模式（normal普通、infinite无限、challenge挑战）
     */
    private String gameMode;
    
    /**
     * 游戏结果（completed完成、timeout超时、quit退出）
     */
    private String gameResult;
    
    /**
     * 消灭数量（适用于消灭类游戏）
     */
    private Long eliminatedCount;
    
    /**
     * 额外游戏数据（JSON格式）
     */
    private String extraData;
    
    /**
     * 游戏日期
     */
    private Date playDate;
    
    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    private String delFlag;
    
    
}
